package com.ruoyi.door.controller.admin.orderinfo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单信息导出VO
 *
 * @author ruoyi
 */
@Data
@ApiModel(value = "订单信息导出VO", description = "订单信息导出数据")
public class DoorOrderExportVO implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 订单编号
     */
    @Excel(name = "订单编号", width = 20)
    @ApiModelProperty("订单编号")
    private String orderNo;

    /**
     * 订单类型
     */
    @Excel(name = "订单类型", readConverterExp = "1=运维费,2=买卡,3=人脸")
    @ApiModelProperty("订单类型")
    private String typeText;

    /**
     * 订单状态
     */
    @Excel(name = "订单状态", readConverterExp = "0=待付款,1=已付款,2=退款中,3=已退款")
    @ApiModelProperty("订单状态")
    private String orderStatusText;

    /**
     * 总价
     */
    @Excel(name = "订单金额(元)", width = 15)
    @ApiModelProperty("总价")
    private BigDecimal totalPrice;

    /**
     * 持卡人姓名
     */
    @Excel(name = "持卡人姓名", width = 15)
    @ApiModelProperty("持卡人姓名")
    private String chName;

    /**
     * 持卡人身份证号
     */
    @Excel(name = "身份证号", width = 20)
    @ApiModelProperty("持卡人身份证号")
    private String chIdNo;

    /**
     * 持卡人手机
     */
    @Excel(name = "手机号", width = 15)
    @ApiModelProperty("持卡人手机")
    private String chMobile;

    /**
     * 支付渠道
     */
    @Excel(name = "支付方式", readConverterExp = "1=微信支付,2=银行卡支付")
    @ApiModelProperty("支付渠道")
    private String payChannelText;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "下单时间", width = 20, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private Date createTime;

    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "支付时间", width = 20, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("支付时间")
    private Date payTime;

    /**
     * 三方单号
     */
    @Excel(name = "第三方交易号", width = 25)
    @ApiModelProperty("三方单号")
    private String tradeNo;

    /**
     * 付款备注
     */
    @Excel(name = "备注", width = 20)
    @ApiModelProperty("付款备注")
    private String remark;

    /**
     * 退款创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "退款申请时间", width = 20, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("退款创建时间")
    private Date refundCreateTime;

    /**
     * 完成退款时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "退款完成时间", width = 20, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("完成退款时间")
    private Date refundTime;
}
